package com.huaxin.device.dto.request;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;

import java.time.LocalDateTime;

@Data
public class DeviceAlarmConfigUpdateReqDTO {

    /**
     * 配置ID（必填）
     */
    @NotBlank(message = "ID不能为空")
    @Schema(description = "配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "123e4567-e89b-12d3-a456-426614174000")
    private String id;

    /**
     * 使用的模板ID（可为空）
     */
    @Schema(description = "使用的模板ID，为空表示自定义", example = "t123e456-789a-bcde-f012-3456789abcde")
    private String templateId;

    /**
     * 覆盖的规则（JSON格式）
     */
    @Schema(description = "覆盖的规则（JSON格式）", example = "{\"current_threshold\": \"12.5\"}")
    private String overrideRules;

    /**
     * 最后校准时间
     */
    @Schema(description = "最后校准时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "2025-08-15 10:30:00")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime lastCalibratedAt;

}